package com.ruoyi.order.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 人工派单记录对象 tb_order_manual
 * 
 * @author ruoyi
 * @date 2025-08-18
 */
public class TbOrderManual extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 人工派单Id */
    @Excel(name = "人工派单Id")
    private Long manualId;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long userId;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderId;

    /** 乘客ID */
    @Excel(name = "乘客ID")
    private Long passengerId;

    /** 下车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dropoffTime;

    /** 用车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useTime;

    /** 上车地址 */
    @Excel(name = "上车地址")
    private String pickupAddress;

    /** 下车地址 */
    @Excel(name = "下车地址")
    private String dropoffAddress;

    /** 服务里程（公里） */
    @Excel(name = "服务里程", readConverterExp = "公=里")
    private Long serviceMileage;

    /** 距离下单时间已过分钟数 */
    @Excel(name = "距离下单时间已过分钟数")
    private Long distanceDown;

    /** 距离用车时间剩余分钟数 */
    @Excel(name = "距离用车时间剩余分钟数")
    private Long distanceUse;

    /** 派单操作人 */
    @Excel(name = "派单操作人")
    private String operator;

    /** 派单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "派单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateTime;

    public void setManualId(Long manualId) 
    {
        this.manualId = manualId;
    }

    public Long getManualId() 
    {
        return manualId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setPassengerId(Long passengerId) 
    {
        this.passengerId = passengerId;
    }

    public Long getPassengerId() 
    {
        return passengerId;
    }

    public void setDropoffTime(Date dropoffTime) 
    {
        this.dropoffTime = dropoffTime;
    }

    public Date getDropoffTime() 
    {
        return dropoffTime;
    }

    public void setUseTime(Date useTime) 
    {
        this.useTime = useTime;
    }

    public Date getUseTime() 
    {
        return useTime;
    }

    public void setPickupAddress(String pickupAddress) 
    {
        this.pickupAddress = pickupAddress;
    }

    public String getPickupAddress() 
    {
        return pickupAddress;
    }

    public void setDropoffAddress(String dropoffAddress) 
    {
        this.dropoffAddress = dropoffAddress;
    }

    public String getDropoffAddress() 
    {
        return dropoffAddress;
    }

    public void setServiceMileage(Long serviceMileage) 
    {
        this.serviceMileage = serviceMileage;
    }

    public Long getServiceMileage() 
    {
        return serviceMileage;
    }

    public void setDistanceDown(Long distanceDown) 
    {
        this.distanceDown = distanceDown;
    }

    public Long getDistanceDown() 
    {
        return distanceDown;
    }

    public void setDistanceUse(Long distanceUse) 
    {
        this.distanceUse = distanceUse;
    }

    public Long getDistanceUse() 
    {
        return distanceUse;
    }

    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }

    public void setOperateTime(Date operateTime) 
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime() 
    {
        return operateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("manualId", getManualId())
            .append("userId", getUserId())
            .append("orderId", getOrderId())
            .append("passengerId", getPassengerId())
            .append("dropoffTime", getDropoffTime())
            .append("useTime", getUseTime())
            .append("pickupAddress", getPickupAddress())
            .append("dropoffAddress", getDropoffAddress())
            .append("serviceMileage", getServiceMileage())
            .append("distanceDown", getDistanceDown())
            .append("distanceUse", getDistanceUse())
            .append("operator", getOperator())
            .append("operateTime", getOperateTime())
            .toString();
    }
}
